package com.doit.day06


//implicit 隐式的
object _08_隐式转换_参数 {
  def main(args: Array[String]): Unit = {

    //所谓的隐式参数就是变量前面加了一个implicit 关键字的参数

    implicit val a:Int = 10
    implicit val b:String = "20"

    def add(a:Int)(implicit b:String)=a+b.toInt
    def add2(implicit a:Int,b:String)=a+b.toInt


    val aa = 10
    val bbb = 20
    def add1( a:Int,b:Int)=a+b
    def add3( a:Int,b:Int)=a+b
    add1(aa,bbb)
    add3(aa,bbb)


    //显示的传进去
//    add(1,2)

    //想让他隐式的传进去，偷偷摸摸的 不能明目张胆的  ==》
    println(add(1))//我不等你传，我就已经在干活了 ==》 在上下文中偷偷摸摸的去找 隐式参数
    println(add2)

//    add1()//是在等着你显示的往里面传呢  必须传两个int类型的值进去
  }

}
